Подключение двигателей к Фридуино и Ардуино Нано

05.12.2011
By

После нескольких вечеров и одних выходных, проведенных в поисках неисправности Motor Shield V3 (которую перед этим по неопытности просто спалил, подключив биполярный шаговый двигатель и подав избыточное напряжение – отдельная история с заменами 74HCT595D и L293DD, их поисками, отработкой методики снятия микросхем с поверхностным монтажом :) ) пришел к простому выводу, что просто сам драйвер L293D  очень неплохо может справляться с данной задачей – что с обычными двигателями (предыдущий пример), что с шаговыми.

Преамбула завершена. К сути:

Есть простая схема (Спасибо http://smobiler.ru/arduino/65-podklyuchenie-shagovogo-dvigatelya-k-arduinoi-s-l293d-mikroshemoy.html) – к сожалению сейчас недоступна…

И, собственно, скетч для моего шагового двигателя от принтера Canon i550

// Собственно библиотека
#include <Stepper.h>

// количество шагов мотора (получается простым способом деления
//360 градусов на угол (документация к мотору), на который поворачивается
//мотор за один шаг. В моем случае (Mitsumi) 48 шагов
#define STEPS 48

// создает класс шагового двигателя и объявляет какими ножками Ардуино
// он будет управляться (в моем случае двигатель биполярный 4 вывода)

Stepper stepper(STEPS, 8, 9, 10, 11);

void setup()
{
  // Установление скорости оборотов двигателя в оборотах в минуту (RPM)
  // мой движок работал в диапазоне 5-400 вполне стабильно.
  stepper.setSpeed(30);
}

void loop()
{
  // один полный круг вперед
  stepper.step(1*STEPS);
  delay(1000);
  // один полный круг назад
  stepper.step(-1*STEPS);
  delay(1000);

}

Все очень прекрасно работает, спасибо все авторам и ИНТЕРНЕТУ, за то, что он есть….

 

Бонус: русский материал по библиотеке stepper.h

http://arduino.net.ua/file_archive/Arduino%20Library/Arduino%20Stepper%20Library/

Эта библиотека позволяет вам управлять униполярными и биполярными шаговыми двигателями. Вам понадобится сам шаговый двигатель и драйвер, чтобы им управлять. Если вы хотите больше узнать о шаговых двигателях, прочтите  заметку о шаговиках Tom Igoe’s.

Функции:
Stepper (steps, pin1, pin2)
Stepper (steps, pin1, pin2, pin3, pin4)
setSpeed (rpm)
step (steps)

Stepper (steps, pin1, pin2)
Stepper (steps, pin1, pin2, pin3, pin4)
Описание:
Эта функция создает новый класс, который определяет подключение шагового двигателя к платформе  Arduino. Поместите ее в начало скетча, до функций setup () и loop (). Число параметров зависит от подключения вашего двигателя к плате — посредством двух или четырех проводов.
Параметры:
steps: Число шагов на один оборот вашего двигателя. Если вам известен угол поворота на один шаг, разделите 360 на этот угол и получите количество шагов на оборот. (int)
pin1, pin2: два провода, подключенные к двигателю (int)
pin3, pin4: опционально: два последних провода, если мотор подключен посредством 4-х проводов (int)
Возвращает:
новый объект класса Stepper.
Пример:
Stepper myStepper = Stepper (100, 5, 6);

Stepper: setSpeed (rpms)
Описание:
Устанавливает частоту вращения шагового двигателя в оборотах в минуту.
Для установки количества шагов используйте функцию step ().
Параметры:
rpms: скорость, с которой двигатель должен вращаться в оборотах в минуту — положительное число (long)

Stepper: step (steps)
Описание:
Устанавливает определенное количество шагов мотора, со скоростью, определенную функцией setSpeed (). Эта функция блокиреует работу программы до завершения движения ротора. Например, вы установили скорость 1об/мин и 100 шагов для 100-шагового двигателя. В итоге, функция будет выполняться целую минуту. Для лучшего контроля, устанавливайте большую частоту вращения и двигайтесь на малое количество шагов.
Параметры:
steps: число шагов мотора — положительное число для одного направления, отрицательное — для другого. (int)

По ссылке вы можете скачать схемы подключения униполярных и Биполярных  двигателей.

Размер: 96.16 КБ
Скачать

Добавить комментарий